Interfaces


    Interfaces são tipos em JAVA cuja declaração é semelhante a de uma classe:


            public interface Teste{ }


    Na declaração apenas usamos a palavra interface no lugar de class.


    No entanto, as semelhanças com classe acabam por aqui.


    Interfaces só podem conter uma coisa: declaração de métodos sem implementação.


    Em um método temos duas partes:


            1. Declaração <encapsulamento> <tipo_de_retorno> <nome>(<parametros>)

            2. Implementação { /*lógica do método*/ }


    Em outras palavras, a declaração define a estrutura de um método, seu nome, o que ele precisa de informação para executar e o que ele retornará (se é que retorna).


    Já a implementação é o algoritmo que ele executa quando invocado (o que vai dentro das chaves).


    para implementar uma interface em uma classe usamos implements.


    Genericamente a declaração será: <encapsulamento> class <nome_da_classe> implements <nome_da_interface>{ }.


    Vamos a alguns detalhes importantes do uso das interfaces:


            1. Na mesma classe você pode implementar quantas interfaces desejar basta separar os nomes por vírgula.

            2. TODOS os métodos presentes na interface devem ser implementados na classe e devem ter a diretiva (@Override).

            3. Assim como vimos em herança, a classe que implementa uma interface adiciona aos seus tipos o tipo da interface.